﻿using FluentNHibernate.Mapping;

namespace Neturion.Dados
{
    public class MapFornecedor : ClassMap<Fornecedor>
    {
        public MapFornecedor()
        {
            Table("fornecedores");
            Id(x => x.FornecedorId);
            Map(x => x.Codigo).Unique().Index("idx_Codigo");
            Map(x => x.DataCadastro);
            Map(x => x.ObservacaoFornecedor);
            Map(x => x.InicioVigenciaFornecedor);
            Map(x => x.FimVigenciaFornecedor);
            References(x => x.NeturionLog).Not.LazyLoad();
            References(x => x.RamoAtividade).Not.LazyLoad();
            References(x => x.Cnae).Not.LazyLoad();
            References(x => x.Pessoa).Not.LazyLoad();
            HasManyToMany<Produto>(x => x.ListaProdutos)
                .Table("fornecedoresprodutos")
                .ParentKeyColumn("FornecedorId")
                .ChildKeyColumn("ProdutoId")
                .Not.LazyLoad();
        }
    }
}